package ControllerLayer;

import java.sql.SQLException;
import java.util.*;

import ModelLayer.*;
import DBLayer.*;


/**
 * 
 * @author DMAA0213 - Gruppe 2
 *
 */
public class TimetableController implements IFTimetableController {

	public Medlem login(String email, String password) throws SQLException {
		IFMedlemsController ctrMedlems = new MedlemsController();
	    Medlem m = new Medlem();
	    try {
	    	m = ctrMedlems.loginMedlem(email, password);
	    } catch (SQLException e) {
	    	throw e;
	    }
	    return m;
	}
	
	public ArrayList<Hold> hentListeAktiveHold() throws SQLException {
		IFDBHold dbHold = new DBHold();
	    ArrayList<Hold> alleHold = new ArrayList<Hold>();
	    alleHold = dbHold.hentListeAktive();
	  
	    return alleHold;	}

	public ArrayList<Lokalitet> hentListeLokaliteter() throws SQLException {
		IFLokalitetsController ctrLokalitet = new LokalitetsController();
	    ArrayList<Lokalitet> ll = new ArrayList<Lokalitet>();
	    ll = ctrLokalitet.hentListeLokaler();
	  
	    return ll;
	}
	
	public ArrayList<Spilsystem> hentListeSpilSystemer() throws SQLException {
		IFSpilsystemController ctrSpilsystem = new SpilsystemController();
	    ArrayList<Spilsystem> ls = new ArrayList<Spilsystem>();
	    ls = ctrSpilsystem.hentListeSpilsystemer();
	  
	    return ls;
    }

	public Hold opretHold(Lokalitet lokalitet, Tidsblok tidsblok) {
		Hold h = new Hold(lokalitet, tidsblok);
		return h;
	}
	
	public void gemHold(Hold hold) throws SQLException {
		IFDBHold dbHold = new DBHold();
		dbHold.gem(hold);
	}
	
	public void indsaetSpilSystem(String navn, String beskrivelse) throws SQLException {
		IFSpilsystemController ctrSpilsystem = new SpilsystemController();
		Spilsystem s = new Spilsystem();
		s.setNavn(navn);
		s.setBeskrivelse(beskrivelse);
		ctrSpilsystem.indsaetSpilsystem(s);
	}

}
